Phân loại Phần_mềm

Một phần trong loạt bài về
Thương mại điện tử
Dịch vụ và hàng hóa trực tuyến
Dịch vụ bán lẻ
Dịch vụ thương mại
Thương mại đi động
Dịch vụ khách hàng
Mua sắm điện tử
Purchase-to-pay

Trên hầu hết tất cả các nền tảng máy tính, phần mềm có thể được nhóm thành một vài loại lớn.

Mục đích hoặc lĩnh vực sử dụng

Dựa trên mục tiêu, phần mềm máy tính có thể được chia thành:

  • Phần mềm ứng dụng
    là phần mềm sử dụng hệ thống máy tính để thực hiện các chức năng đặc biệt hoặc cung cấp các chức năng giải trí ngoài hoạt động cơ bản của chính máy tính. Có nhiều loại phần mềm ứng dụng khác nhau, bởi vì phạm vi các tác vụ có thể được thực hiện với một máy tính hiện đại là rất lớn, xem danh sách phần mềm.
  • Phần mềm hệ thống
    là phần mềm để quản lý hành vi phần cứng máy tính, để cung cấp các chức năng cơ bản được người dùng yêu cầu hoặc phần mềm khác để chạy đúng, nếu có. Phần mềm hệ thống cũng được thiết kế để cung cấp một nền tảng để chạy phần mềm ứng dụng,[6] và nó bao gồm:
    • Hệ điều hành
      là các bộ sưu tập thiết yếu của phần mềm quản lý tài nguyên và cung cấp các dịch vụ chung cho các phần mềm khác chạy "trên đỉnh" của chúng. Các chương trình giám sát, bộ tải khởi động, hệ vỏ và hệ thống cửa sổ là những phần cốt lõi của hệ điều hành. Trong thực tế, một hệ điều hành đi kèm với phần mềm bổ sung (bao gồm cả phần mềm ứng dụng) để người dùng có thể thực hiện một số công việc với một máy tính chỉ có một hệ điều hành.
    • Trình điều khiển thiết bị (driver)
      vận hành hoặc điều khiển một loại thiết bị cụ thể được gắn vào máy tính. Mỗi thiết bị cần ít nhất một trình điều khiển thiết bị tương ứng; bởi vì một máy tính thường có ít nhất một thiết bị đầu vào và ít nhất một thiết bị đầu ra, một máy tính thường cần nhiều hơn một trình điều khiển thiết bị.
    • Tiện ích
      là những chương trình máy tính được thiết kế để hỗ trợ người dùng trong việc bảo trì và chăm sóc máy tính của họ.
  • Phần mềm độc hại hoặc malware
    đó là phần mềm được phát triển để gây hại và phá hỏng máy tính. Như vậy, phần mềm độc hại là không mong muốn. Phần mềm độc hại có liên quan chặt chẽ với các tội phạm liên quan đến máy tính, mặc dù một số chương trình độc hại có thể được thiết kế như những trò đùa thực tế.

Bản chất hoặc miền thực thi

  • Các ứng dụng máy tính để bàn như trình duyệt webMicrosoft Office, cũng như các ứng dụng điện thoại thông minhmáy tính bảng (được gọi là " ứng dụng "). (Có một sự thúc đẩy trong một số phần của ngành công nghiệp phần mềm để hợp nhất các ứng dụng máy tính để bàn với các ứng dụng di động, ở một mức độ nào đó. Windows 8, và sau đó là Ubuntu Touch, đã cố gắng cho phép sử dụng cùng một kiểu giao diện người dùng ứng dụng trên máy tính để bàn, máy tính xách tay và điện thoại di động.)
  • Các tập lệnh JavaScript là các phần mềm được nhúng truyền thống trong các trang web được chạy trực tiếp bên trong trình duyệt web khi một trang web được tải mà không cần plugin trình duyệt web. Phần mềm được viết bằng các ngôn ngữ lập trình khác cũng có thể được chạy trong trình duyệt web nếu phần mềm được dịch sang JavaScript hoặc nếu một plugin trình duyệt web hỗ trợ ngôn ngữ đó được cài đặt; ví dụ phổ biến nhất sau này là các tập lệnh ActionScript, được hỗ trợ bởi plugin Adobe Flash.
  • Phần mềm máy chủ, bao gồm:
    • Các ứng dụng web, thường chạy trên máy chủ web và xuất các trang web được tạo động sang trình duyệt web, sử dụng ví dụ: PHP, Java, ASP. NET, hoặc thậm chí JavaScript chạy trên máy chủ. Trong thời hiện đại, những thứ này thường bao gồm một số JavaScript được chạy trong trình duyệt web, trong trường hợp đó, chúng thường chạy một phần trên máy chủ, một phần trong trình duyệt web.
  • Plugin và tiện ích mở rộng là phần mềm mở rộng hoặc sửa đổi chức năng của một phần mềm khác và yêu cầu phần mềm đó phải được sử dụng để hoạt động;
  • Phần mềm nhúng cư trú như firmware trong hệ thống nhúng, thiết bị dành riêng cho việc sử dụng đơn lẻ hoặc một vài công dụng như xe hơiTV (mặc dù một số các thiết bị nhúng như chipset không dây mình có thể là một phần của một hệ thống máy tính thông thường, không nhúng như một PC hoặc điện thoại thông minh).[7] Trong bối cảnh hệ thống nhúng đôi khi không có sự phân biệt rõ ràng giữa phần mềm hệ thống và phần mềm ứng dụng. Tuy nhiên, một số hệ thống nhúng chạy hệ điều hành nhúng và các hệ thống này vẫn giữ được sự khác biệt giữa phần mềm hệ thống và phần mềm ứng dụng (mặc dù thông thường sẽ chỉ có một ứng dụng cố định luôn chạy).
  • Microcode là một loại phần mềm nhúng đặc biệt, tương đối khó hiểu, cho chính bộ xử lý biết cách thực thi mã máy, vì vậy nó thực sự là một cấp độ thấp hơn mã máy. Nó thường thuộc sở hữu của nhà sản xuất bộ xử lý và mọi cập nhật phần mềm vi mã chỉnh sửa cần thiết đều được cung cấp cho người dùng (rẻ hơn nhiều so với vận chuyển phần cứng bộ xử lý thay thế). Do đó, một lập trình viên bình thường sẽ không bao giờ phải đối phó với nó.

Công cụ lập trình

Bài chi tiết: Công cụ lập trình

Các công cụ lập trình cũng là phần mềm dưới dạng chương trình hoặc ứng dụng mà các nhà phát triển phần mềm (còn được gọi là lập trình viên, lập trình viên, tin tặc hoặc kỹ sư phần mềm) sử dụng để tạo, gỡ lỗi, bảo trì (tức là cải thiện hoặc sửa chữa) hoặc nói cách khác là hỗ trợ phần mềm.

Phần mềm được viết bằng một hoặc nhiều ngôn ngữ lập trình; có nhiều ngôn ngữ lập trình tồn tại và mỗi ngôn ngữ có ít nhất một triển khai, mỗi ngôn ngữ bao gồm một bộ công cụ lập trình riêng. Các công cụ này có thể là các chương trình tương đối khép kín như trình biên dịch, trình gỡ lỗi, trình thông dịch, trình liên kết và trình soạn thảo văn bản, có thể được kết hợp với nhau để hoàn thành một nhiệm vụ; hoặc chúng có thể tạo thành một môi trường phát triển tích hợp (IDE), kết hợp nhiều hoặc tất cả các chức năng của các công cụ độc lập đó. IDE có thể làm điều này bằng cách gọi các công cụ riêng lẻ có liên quan hoặc bằng cách thực hiện lại chức năng của chúng theo một cách mới. Một IDE có thể giúp thực hiện các tác vụ cụ thể dễ dàng hơn, chẳng hạn như tìm kiếm trong các tệp trong một dự án cụ thể. Nhiều triển khai ngôn ngữ lập trình cung cấp tùy chọn sử dụng cả hai công cụ riêng lẻ hoặc IDE.

Tài liệu tham khảo

WikiPedia: Phần_mềm http://dankaminsky.com/1999/03/02/69/ http://msdn.microsoft.com/en-us/library/default.as... http://home.olemiss.edu/~misbook/sfsysfm.htm http://www.cs.uu.nl/education/vak.php?vak=INFOMCCO http://www.computer.org/csdl/mags/so/2009/03/mso20... //dx.doi.org/10.1109%2FMAHC.2003.1253887 http://www.tqlcvn.org/kythuat/kt-gochuviet-vpskeys... https://github.com/mark-watson/scripting-intellige... https://books.google.com/books?id=C8ouDwAAQBAJ&lpg... https://www.theguardian.com/technology/2012/dec/10...